<?php
/*
 * Created by generator
 *
 */

class niveau_model extends Model {
	
	/**
	* Identifiant
	* @var int
	*/
	var $nividniv;

	/**
	* Nom du niveau des adhérents et des activités
	* @var varchar(50)
	*/
	var $nivlbnom;

	
	/**
	 * Constructeur
	 */
	function niveau_model(){
		parent::Model();
		$this->load->helper('niveau');
		
	}
	
	/************************************************************************
	 * Methodes de mise a jour a partir de la base de donnees
	 ************************************************************************/

	/**
	 * Cree une nouvelle instance a partir d'un enregistrement de base de donnees
	 */
	static function niveau_modelFromRow($row){
		$model = new niveau_model();
		$model->nividniv = $row['nividniv'];
		$model->nivlbnom = $row['nivlbnom'];
		return $model;
	}

	/**
	 * recupere tous les enregistrements
	 * @param $db connexion a la base de donnees
	 */
	static function getAllniveaus($db){
		$rows = getAllniveausFromDB($db);
		$records = array();
		foreach ($rows as $row) {
			$records[$row['nividniv']] = niveau_model::niveau_modelFromRow($row);
		}
		return $records;
	}
	
	/**
	 * Recupere l'enregistrement a partir de son id
	 * @param $db connexion a la base de donnees
	 * @param $nividniv identifiant de l'enregistrement a recuperer
	 */
	static function getniveau($db, $nividniv){
		$row = getniveauRow($db, $nividniv);
		return niveau_model::niveau_modelFromRow($row);
	}
	
	/**
	 * Suppression d'un enregistrement
	 * @param $db connexion a la base de donnees
	 * @param $nividniv identifiant de l'enregistrement a supprimer
	 */
	static function delete($db, $nividniv){
		deleteniveau($db, $nividniv);
	}

	/**
	 * Enregistre en base un nouvel enregistrement
	 * @param $db connexion a la base de donnees
	 */
	public function save($db){
		$this->nividniv = insertNewniveau($db, $this->nivlbnom);
	}

	/**
	 * Mise a jour des donnees d'un enregistrement
	 * @param $db connexion a la base de donnees
	 */
	public function update($db){
		updateniveau($db, $this->nividniv, $this->nivlbnom);
	}

	
	/***************************************************************************
	 * USER DEFINED FUNCTIONS
	 ***************************************************************************/

}

?>
